﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.Data.Classes;
using CMS.Data.Repositorios;
using App.UI.Auxiliares;

namespace App.UI.Adm
{
    public partial class CadastroEstados : System.Web.UI.Page
    {
        Metodos metodos = new Metodos();

        EstadoRepository estadoRepository = new EstadoRepository();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LimparCampos();
               
                if (!String.IsNullOrEmpty(Request.QueryString["EstadoId"]))
                    CarregarPagina();

            }
        }

    

        private void CarregarPagina()
        {
            int Id = Request.QueryString["EstadoId"].ToInt();

            Estado Estado = estadoRepository.SelectById(Id);

            if (Estado != null)
            {
                txtNome.Text = Estado.Nome;
            }
        }

        #region Save Method's

        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {

                Estado obj = Salvar();

                if (!String.IsNullOrEmpty(Request.QueryString["EstadoId"]))
                {
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "notify", "SuccessUpdate();", true);
                }
                else
                {
                    LimparCampos();
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "notify", "Success();", true);
                }
            }
            catch
            {
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "notify", "Failed();", true);
            }
        }

        private Estado Salvar()
        {
            if (metodos.ValidarLogin() == null)
                Response.Redirect("Login.aspx");

            Estado obj = new Estado();

            if (!String.IsNullOrEmpty(Request.QueryString["EstadoId"]))
            {
                int Id = Request.QueryString["EstadoId"].ToInt();

                if (Id > 0)
                    obj = estadoRepository.SelectById(Id);
            }


            obj.Nome = txtNome.Text;
            estadoRepository.Save(obj);

            return obj;
        }

        #endregion

        #region PageHelp Method's

        private void LimparCampos()
        {
            txtNome.Text = "";
        }

        #endregion



    }
}